home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / FROMUTS / MAKEAPPL / !MakeAppl / !Help < prev    next >
Text File  |  1990-06-06  |  8KB  |  170 lines

  1. !MakeAppl, version 0.90 5th June 1990
  2. =====================================
  3.  
  4. ***************************  Copyright Notice  **************************
  5. *                                                                       *
  6. *   The source code and documentation for the 'BASIC -> Application'    *
  7. *   utility are the exclusive copyright of Michael Ben-Gershon and are  *
  8. *   freely distributable, provided this notice is left intact and all   *
  9. *   of the files listed below are included, UNALTERED.                  *
  10. *                                                                       *
  11. *************************************************************************
  12.  
  13.  
  14. Included :-
  15.            !Boot
  16.            !Run
  17.            !RunImage
  18.            !Sprites
  19.            !Help (this file!)
  20.            !Config
  21.            Templates
  22.  
  23.  
  24. Introduction:
  25. =============
  26.  
  27. This program is a RISC OS utility that adds a header to BASIC files which
  28. then lets them be treated as if they were 'Applications'.  The main reason
  29. for wanting to do this is that Applications may be 'squeezed' - if you
  30. possess the Acorn 'squeeze' utility.  It is supplied with C release 3 and the
  31. Software Developer's Toolbox.  You may have discovered that a few of the
  32. Acorn-supplied programs on the RISC OS distribution discs were treated in
  33. this way - for example, !Help.
  34.  
  35. There are many good reasons for doing this.  Firstly, as Acorn point out in
  36. their documentation, squeezed programs take up less space on disc.  For
  37. example, the !RunImage file supplied with this application is reduced from
  38. 25k to 18k.  The !RunImage file in !Maestro is reduced from 93k to 69k.
  39. Secondly, the Archimedes can 'unsqueeze' a 'squeezed' file faster than it
  40. can be loaded off a disc (even a hard disc).  Unsqueezing happens at about
  41. 1Mb per second on a standard Archimedes.  With BASIC programs there is a
  42. third advantage - prevention of 'hacking'.  Many users like to hack about at
  43. programs they have bought.  The problem with this is that they often get
  44. into a mess, through inexperience or through misunderstanding the style of
  45. the original programmer.  At this stage, they either blame the author, or
  46. realise that they have lost the original version!  Either way they will find
  47. it difficult to get support from the author as the program has been modified
  48. by them.  All of this is eliminated with compiled languages as the source is
  49. no longer visible to the user.  By putting interpreted BASIC programs
  50. through !MakeAppl with the squeeze option set, the user will assume that the
  51. program was generated by a compiled language, and unless they are pretty
  52. expert they will be unable to do any damage!  An expert user will probably
  53. know how to get round this, but they will probably know what they are doing
  54. anyway...
  55.  
  56.  
  57.  
  58. Installation and use:
  59. =====================
  60.  
  61. Double-clicking on the !MakeAppl icon will install the application on the
  62. icon bar in the usual manner.  The mouse's centre 'menu' button gives a
  63. choice of various options.  Clicking on 'Squeeze' will ensure that any BASIC
  64. program processed by the application is squeezed before saving.  THIS
  65. REQUIRES THE PRESENCE OF THE 'SQUEEZE' UTILITY IN THE LIBRARY (or somewhere
  66. else pointed to by Run$Path).  Clicking on 'Save status' will save the
  67. current 'squeeze' status (on or off) in the !Config file in the !MakeAppl
  68. directory.  This file is essential to the workings of the program, and must
  69. never be removed!
  70.  
  71. Dragging a BASIC file icon to the !MakeAppl icon on the icon bar will result
  72. in a standard save box appearing, with a modified version of the filename in
  73. it.  This icon must be dragged to wherever it is to be saved to (usually
  74. some filer window).  !MakeAppl supports both memory and Wimp$Scrap transfer
  75. protocols, and allocates the memory it requires from the RMA (or next/free
  76. slots).  For example, the application !B_to_T converts a text file to
  77. tokenised BASIC (and back).  It supports memory-memory transfers.  A text
  78. file containing a BASIC program may be dragged to its icon, then 'saved'
  79. into !MakeAppl and then 'saved' into !Edit - all without ever saving an
  80. intermediate file!  (Note that some early versions of !B_to_T are riddled
  81. with bugs, so this may not work with them!)  Why anyone would ever want to
  82. do such a thing is another question, but it is interesting...
  83.  
  84.  
  85.  
  86. Technical details:
  87. ==================
  88.  
  89. This program was written in BASIC, only because I haven't written a RISC OS
  90. interface to ISO-Pascal yet!  As a result, it has not been written like most
  91. BASIC programs, but is as near as possible in its layout to a Pascal-like
  92. program.  Long procedure/variable names, plenty of indentation and lots of
  93. blank space.  Unfortunately, BASIC does not allow the creation of
  94. user-defined data structures, so that area is a bit of a mess.  It should be
  95. more-or-less self-documenting, but I haven't had the time to comment it more
  96. fully.  I know that I ought to, but the original, non-desktop version was
  97. only about 50 lines long and the desktop interface for it is just ENORMOUS!
  98. I tend to be a bit of a perfectionist, so I just had to support both memory
  99. and Wimp$Scrap protocols...
  100.  
  101. Having seen plenty of BASIC desktop source code, I am now convinced that
  102. !MakeAppl breaks new ground in terms of its readability.  It would be very
  103. easy to use parts of its structure in other programs, and if you are still
  104. confused by the memory and Wimp$Scrap transfer protocols (using messages)
  105. you might find that this helps a bit, if followed together with pages
  106. 1261-1268 of the RISC OS Programmer's Reference Manual.
  107.  
  108. If you are worried about its use of memory, you could try putting it through
  109. !Slash or something similar, but please keep the original version for
  110. reference!  I haven't tried this myself but you may be able to reduce the
  111. WimpSlot usage this way.
  112.  
  113.  
  114.  
  115. Conditions of use:
  116. ==================
  117.  
  118. This software is supplied "as is"; no warranty, express or implied, of the
  119. merchantability of this software or its fitness for any particular purpose
  120. is given.  In no circumstances shall the providers of this software be
  121. liable for any damage, loss of profits, or any indirect or consequential
  122. loss arising out of the use of this software or inability to use this
  123. software.
  124.  
  125. You are free to give this application to anyone you please via any medium,
  126. provided it is delivered with ALL the supplied files, UNALTERED.  You may
  127. NOT sell this software, or use it otherwise for personal gain.  If you wish
  128. to post it on your Bulletin Board or include it in your Shareware library
  129. then that, too, is fine.
  130.  
  131.  
  132. You have permission to use any part or the whole application in a project
  133. you intend to place in the public domain, as long as I am fully credited. If
  134. you wish to use these routines in a program that is for sale (for however
  135. much and for whatever reasons) or released as copyright material then my
  136. express permission in writing must be obtained. I maintain copyright on all
  137. the material supplied and reserve the right to amend these conditions in
  138. case where I deem misuse.
  139.  
  140. A large number of hours of work have gone into the production and
  141. maintenance of this application and although I have supplied the application
  142. free, donations will be gratefully received (and if over 7 pounds I will send
  143. you a disc with updates of this and all other pd stuff I have written.
  144. Please include a letter telling me which apps of mine you use and their
  145. version numbers).
  146.  
  147. Please report any bugs you find to me, so that other users may benefit from
  148. improved versions.  I cannot guarantee to fix any bugs, but I will do my
  149. best.
  150.  
  151. My address is:
  152.  
  153. Michael Ben-Gershon
  154. 8 Linnell Drive
  155. LONDON NW11 7LT
  156.  
  157. No telephone calls please.
  158.  
  159. However, I can be contacted as:
  160. Prestel (and SID):    014554781
  161. Janet:                umace03@doc.ic.ac.uk (until September 1990)
  162. Archive BBS:          0603 745932           (mailbox 396)
  163. The World of Cryton:  0749 670030 / 679794  (mailbox 100)
  164.  
  165.  
  166. Thanks are due to Phil Colmer, David Spencer and Emmet Spier for ideas I
  167. found in the source-code of their Desktop applications.
  168.  
  169. © Michael Ben-Gershon 1990 - USE and Enjoy!
  170.